#ifndef __BSP_GPIO_H
#define __BSP_GPIO_H

#include "gd32e23x.h"
#include "gd32e230c_eval.h"

#define DC_5V_EN()                  gpio_bit_set(GPIOB,GPIO_PIN_10)
#define DC_5V_DIS()                 gpio_bit_reset(GPIOB,GPIO_PIN_10)

#define LED_POWER_OPEN()            gpio_bit_set(GPIOB,GPIO_PIN_2)
#define LED_POWER_CLOSE()           gpio_bit_reset(GPIOB,GPIO_PIN_2)

#define LED_CLK_H()                 gpio_bit_set(GPIOB,GPIO_PIN_6)
#define LED_CLK_L()                 gpio_bit_reset(GPIOB,GPIO_PIN_6)

#define LED_DIN_H()                 gpio_bit_set(GPIOB,GPIO_PIN_7)
#define LED_DIN_L()                 gpio_bit_reset(GPIOB,GPIO_PIN_7)

#define VALVA_OUTPUT_OPEN()         gpio_bit_set(GPIOA,GPIO_PIN_7)
#define VALVA_OUTPUT_CLOSE()        gpio_bit_reset(GPIOA,GPIO_PIN_7)

#define GET_CHARGE_CHECK_CHRG()     gpio_input_bit_get(GPIOA,GPIO_PIN_4)
#define GET_CHARGE_CHECK_STDBY()    gpio_input_bit_get(GPIOA,GPIO_PIN_5)

void gpio_init(void);
void gpio_deinit_init(void);
void wakeup_key_init(void);

#endif